Systems and methods for segmentation and reassembly of data frames in 802.11 wireless local area networks

ABSTRACT

Embodiments described herein provide a method for fragmenting and reassembling data frames on a medium access control (MAC) layer in a wireless local area network. A datagram is received from an application running on a first network device, for transmission over a wireless communication link in the wireless local area network. A negotiation request is initiated with a second network device for determining whether both the first network device and the second network device have enhanced directional multi-gigabit capability (EDMG) for data segmentation and reassembly. When both devices have EDMG capability and the size of the datagram exceeds the maximum size defined by the wireless local area network transmission protocol, the datagram is segmented into a plurality of transmission data units on the MAC layer.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of co-pending, U.S. patentapplication Ser. No. 15/916,940, filed on Mar. 9, 2018, which claims thebenefit under 35 U.S.C. § 119(e) of U.S. Provisional Patent ApplicationNo. 62/469,345, filed Mar. 9, 2017, which is hereby incorporated byreference herein in its entirety.

FIELD OF USE

This disclosure relates to data transmission protocols in 802.11wireless networks, and specifically, to systems and methods forsegmentation and reassembly of data frames in 802.11 wireless local areanetworks (WLANs).

BACKGROUND OF THE DISCLOSURE

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of theinventors hereof, to the extent the work is described in this backgroundsection, as well as aspects of the description that does not otherwisequalify as prior art at the time of filing, are neither expressly norimpliedly admitted to be prior art against the present disclosure.

Data frames transmitted in an 802.11 network usually has a significantamount of overhead, including radio level headers, Media Access Control(MAC) frame fields, interframe spacing information, acknowledgementinformation of transmitted frames, and/or the like. The transmission ofthe overhead information sometimes consumes a significant portion of thechannel bandwidth, and thus reduces transmission efficiency of thepayload data. MAC service data unit (MSDU) aggregation is thus used togroup several data frames into one large frame for transmission, i.e.,an A-MSDU, such that the several grouped data frames can sharemanagement information in the overhead for the large frame. In this way,the ratio of payload data to the total volume of data transmitted isimproved, allowing higher throughput.

An MSDU, however, often has a limited size. For example, in 802.11ad,the maximum MSDU size is 7920 bytes. When an application generates alarge datagram, e.g., sometimes can be much larger than 7920 bytes, thedatagram is usually required to be segmented in order to fit into anMSDU to be transmitted over an 802.11ad link. However, significantcomputational overhead may be inflicted to the host processor when thehost processor segments the large datagram on the application layer.

SUMMARY

Embodiments described herein provide a method for fragmenting andreassembling data frames on a medium access control (MAC) layer in awireless local area network. A datagram is received from an applicationrunning on a first network device, for transmission over a wirelesscommunication link in the wireless local area network. A negotiationrequest is initiated, at the first network device, with a second networkdevice for determining whether both the first network device and thesecond network device have enhanced directional multi-gigabit capability(EDMG) for data segmentation and reassembly. A size of the datagram isdetermined as to whether the size of the datagram exceeds a maximum sizedefined by a wireless local area network transmission protocol. When thesize of the datagram exceeds the maximum size defined by the wirelesslocal area network transmission protocol and both the first networkdevice and the second network device have EDMG capability for datasegmentation and reassembly, the datagram is segmented into a pluralityof transmission data units on the MAC layer, and identifying informationis assigned to a respective data field in each transmission data unitfrom the plurality of transmission data units. The plurality oftransmission data units are transmitted to the second network devicetransmitting, via the wireless communication link in the wireless localarea network.

In some embodiments, the datagram is segmented into fragmented dataunits. Each fragmented data unit has a size smaller than the maximumsize defined by a wireless local area network transmission protocol.

In some embodiments, for each transmission data unit that belongs to theplurality of transmission data units segmented from the same datagram,the same sequence number is assigned to a first portion of a sequencecontrol field in the respective transmission data unit, and a uniquefragment number is assigned to a second portion of the sequence controlfield in the respective transmission data unit. The unique fragmentnumber represents a respective index for the respective transmissiondata unit in the plurality of transmission data units segmented from thesame datagram. A binary value is assigned, which indicates whether thereare more transmission data units segmented from the same datagramfollowing the respective transmission data unit to a third portion ofthe sequence control field in the respective transmission data unit.

In some embodiments, a legacy sequence control field defined in a legacywireless local area network transmission protocol is reused as thesequence control field. The first three bits of the sequence controlfield are designated for the unique fragment number. The fourth bit ofthe sequence control field is designated for the binary value thatindicates whether there are more transmission data units segmented fromthe same datagram following the respective transmission data unit. Theremaining 12 bits of the sequence control field are designated for thesequence number. The transmission data units with a same sequence numberbelong to the same datagram.

In some embodiments, a first transmission data unit is received, at thefirst network device. A first data bit is extracted, which indicateswhether there are more transmission data units segmented from a samedatagram following the first transmission data unit and a first fragmentnumber from a first sequence control field of the first transmissiondata unit. When the data bit equals one, a subsequent transmission dataunit that belongs to the same datagram with the first transmission dataunit is received. When the data bit equals zero, any subsequenttransmission data unit is determined to belong to a different datagram.The first fragment number is determined as to whether the first fragmentnumber equals zero. When the first fragment number is non-zero, a seconddata bit is extracted, which indicates whether there are moretransmission data units segmented from a same datagram following thepreceding transmission data unit from a preceding transmission dataunit. When the second data bit equals one, the transmission data unit isdetermined to be an EDMG fragmentation segment. When the second data bitequals zero, the transmission data unit is determined to be a legacyfragmentation segment. When the first fragment number is zero, thetransmission data unit is determined as not having been segmented. Asequence of previously received transmission data units including thefirst transmission data unit are reassembled to form one or moredatagrams based on segmentation information relating to the transmissiondata units.

In some embodiments, for each transmission data unit that belong to theplurality of transmission data units segmented from the same datagram,the same index number is assigned to a first portion of a sequencecontrol field in the respective transmission data unit. A continuoussequence number is assigned to a second portion of the sequence controlfield in the respective transmission data unit. A binary value isassigned, which indicates whether there are more transmission data unitssegmented from the same datagram following the respective transmissiondata unit to a third portion of the sequence control field in therespective transmission data unit.

In some embodiments, a legacy sequence control field used in a legacywireless local area network transmission protocol is re-defined as thesequence control field. The first three bits of the sequence controlfield are designated for the index number. The fourth bit of thesequence control field is designated for the binary value that indicateswhether there are more transmission data units segmented from the samedatagram following the respective transmission data unit. The remaining12 bits of the sequence control field are designated for the continuoussequence number. The transmission data units with the same index numberand continuous sequence numbers belong to the same datagram.

In some embodiments, a first transmission data unit is received, at thefirst network device. A first data bit is extracted, which indicateswhether there are more transmission data units segmented from a samedatagram following the first transmission data unit from a firstsequence control field of the first transmission data unit. When thefirst data bit equals one, a second transmission data unit is receivedsubsequent to the first transmission data unit. When the second data bitequals zero, a set of previously received transmission data units priorto and including the first transmission data unit are retrieved. Arespective index number and a respective sequence number are extractedfrom a respective sequence control field of each of the set ofpreviously received transmission data units.

In some embodiments, a first index number and a first sequence numberare extracted from the from the first sequence control field of thefirst transmission data unit. A second index number and a secondsequence number are extracted from a second sequence control field ofthe second transmission data unit. The index numbers of two consecutivetransmission units are determined as to whether the index numbers arethe same. When the index numbers of two consecutive transmission unitsare the same, it is then determined whether sequence numbers of the twoconsecutive transmission units are continuous. When the sequence numbersof the two consecutive transmission units are continuous, it is furtherdetermined that the two consecutive transmission units belong to thesame data gram, and the two consecutive transmission units arereassembled based on respective sequence numbers to recover thedatagram.

In some embodiments, when the index numbers of two consecutivetransmission units are the same but the sequence numbers of the twoconsecutive transmission units are non-continuous, the two consecutivetransmission units are determined as to whether the units belong todifferent datagrams.

Embodiments described herein further provide a network device forfragmenting and reassembling data frames on a MAC layer in a wirelesslocal area network. The device includes a buffer, a transmitter andprocessing circuitry. The buffer is configured to receive, from anapplication run by the processing circuitry, a datagram for transmissionover a wireless communication link in the wireless local area network.The processing circuitry configured to initiate a negotiation requestwith a second network device for determining whether both the firstnetwork device and the second network device have enhanced directionalmulti-gigabit (EDMG) capability for data segmentation and reassembly,and determine whether a size of the datagram exceeds a maximum sizedefined by a wireless local area network transmission protocol. When thesize of the datagram exceeds the maximum size defined by the wirelesslocal area network transmission protocol, and both the first networkdevice and the second network device have EDMG capability for datasegmentation and reassembly, the processing circuitry is configured tosegment the datagram into a plurality of transmission data units on theMAC layer, and assign identifying information to a respective data fieldin each transmission data unit from the plurality of transmission dataunits. The transceiver is configured to transmit, via the wirelesscommunication link in the wireless local area network, the plurality oftransmission data units to the second network device.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features of the disclosure, its nature and various advantageswill become apparent upon consideration of the following detaileddescription, taken in conjunction with the accompanying drawings, inwhich like reference characters refer to like parts throughout, and inwhich:

FIG. 1 shows an example block diagram illustrating transmitting largedatagram via MSDU segmentation over a wireless connection, according toembodiments described herein;

FIG. 2 shows an example logic diagram illustrating transmitting largedatagram via MSDU segmentation over a wireless connection, according toembodiments described herein;

FIG. 3 shows an example logic diagram illustrating segmenting thedatagram into a plurality of transmission data units on the MAC layer byreusing legacy fragmentation, according to embodiments described herein;

FIG. 4 shows an example logic diagram illustrating receiving andreassembling transmission data units fragmented via the process 300described in FIG. 3, according to embodiments described herein;

FIG. 5 shows an example logic diagram illustrating segmenting thedatagram into a plurality of transmission data units on the MAC layer byredefining fragmentation number as MSDU index number, according toembodiments described herein;

FIG. 6 shows an example logic diagram illustrating receiving andreassembling a plurality of transmission data units fragmented via theprocess described in FIG. 5, according to embodiments described herein;and

FIGS. 7-8 show example block diagrams illustrating reception behaviorsof segmented MSDUs based on the reassembly process 600 described in FIG.6, according to embodiments described herein.

DETAILED DESCRIPTION

This disclosure describes methods and systems for segmentation andreassembly of data frames in 802.11 wireless local area networks(WLANs).

In 802.11 WLANs, as the maximum size of an MSDU is usually limited,large application datagrams cannot fit into a single MSDU, and oftenrequire to be segmented in order to form an MSDU for transmission. Thus,the large datagrams are usually fragmented into multiple smallerdatagrams for transmission as MSDUs. The MSDUs containing the fragmenteddatagrams are then reassembled at the destination to recover theoriginal large datagram. Conventionally, the fragmentation andreassembly of the datagrams are conducted at an upper layer, e.g., theIP layer or even the application layer implemented by the host software.For example, an 802.11 wireless network device, such as but not limitedto a laptop computer, a Smartphone, a tablet computer, and/or the like,may fragment a large multimedia datagram into smaller pieces ofmultimedia data, and send the smaller pieces to another 802.11 wirelessnetwork device, which may in turn assemble the smaller pieces ofmultimedia data through the application layer to reconstruct theoriginal multimedia datagram. Performing the fragmentation andreassembly of datagrams at the host processor may require a significantamount of processing efforts and hardware resources. Embodimentsdescribed herein provide various segmentation solutions of largedatagrams at the MAC layer, instead of at an upper layer. By conductingsegmentation at the MAC layer, no signification computational tasks areincurred to the host processor running the application that originatesthe datagrams, and thus processing cost and hardware resourceconsumption can be reduced.

FIG. 1 shows an example block diagram 100 illustrating transmittinglarge datagram via MSDU segmentation over a wireless connection,according to embodiments described herein. Diagram 100 shows two802.11ad devices 101 and 102, which may communicate via the wirelesslink 114. For example, device 101 may transmit one or more datagramsgenerated by applications running on device 101 to device 102. When thedatagram has a large size, e.g., greater than the maximum size of 7920bytes for an MSDU, the datagram may be segmented into smaller pieces. Insome embodiments, as further illustrated in FIGS. 3-6, the datagram 105(e.g., the data frame that is intended to be transmitted as an MSDU) maybe segmented and formed into multiple segmented MSDUs 106 a-n, which aretransmitted via the wireless connection 114. Each segmented MSDUs 106a-n may be assigned a unique identifier, such as a sequence orfragmentation number. Thus, device 102 may receive the segmented MSDUs107 a-n from the wireless connection 114, and reassemble the segmentedMSDUs into MSDU 108, e.g., based on the unique identifier associatedwith each segmented MSDU 108 a-n, as further described in FIGS. 3 and 5.

To reduce processing overhead at the application layer, the segmentationand reassembly of the segmented MSDUs 106 a-n or 107 a-n are performedat the MAC layer. In order to perform MSDU segmentation at the MAClayer, the segmentation initiator and responder, e.g., devices 101 and102, may negotiate the MSDU segmentation capability before commencingdata transmission, e.g., whether both devices 101 and 102 are 802.11ayenhanced directional multi-gigabit (EDMG) stations that support MSDUsegmentation and reassembly. For example, a data bit in EDMG CapabilityElement from device 101 may indicate whether such capability isimplemented.

After the negotiation, devices 101 and 102 may maintain a data tuple<Source MAC address, Destination MAC address, TID> in each segmentedMSDU, wherein TID is the traffic identifier indicating which type ofQuality of Service (QoS) the data traffic requires. In someimplementations, the negotiation process may be performed during a blockacknowledgement session. For example, device 101, the initiator may senda transmission request including one data bit indicating whether MSDUsegmentation and reassembly is supported, and the responder, device 102may in turn send a block acknowledgement message indicating whether EDMGis supported at device 102.

FIG. 2 shows an example logic diagram 200 illustrating transmittinglarge datagram via MSDU segmentation over a wireless connection,according to embodiments described herein. At 202, an initiator (e.g., afirst network device 101 in FIG. 1) is configured to receive, e.g., at abuffer, from an application running on a first network device, adatagram for transmission over a wireless communication link. Forexample, the initiator is configured to transmit a data packet of mediadata from a media player application. At 204, the initiator isconfigured to initiate a negotiation request with a second networkdevice (e.g., a responder, see device 102 in FIG. 1) for determiningwhether both the initiator and the responder have MSDU segmentation andreassembly capability. For example, the initiator is configured to sendan association request to the responder, in which a designated data bitindicates whether such function is implemented at the initiator. Inresponse to the association request, the responder is configured to sendan acknowledgement message, in which a similar data bit indicateswhether EDMG MSDU segmentation and reassembly is supported at theresponder. The negotiation is sometimes implemented during a blockacknowledgement session between the initiator and the responder. In someimplementations, the negotiation between the first network device andthe second network device may be performed periodically, intermittentlyand/or constantly to update the capability status with the devices. At205, the initiator is configured to determine whether the datagramexceeds a maximum size for a MSDU. For example, the maximum size fortransmitting data as MSDU is 7920 bytes for 802.11ad devices. At 206,when the datagram does not exceed the maximum size for the transmissiondata unit, process 200 proceeds to 208, where the initiator transmitsthe datagram without fragmentation.

At 206, when the datagram exceeds the maximum size for the transmissiondata unit, process 200 proceeds to 212, to determine whether both thefirst network device (the initiator) and the second network device (theresponder) have EDMG MSDU segmentation and reassembly capability (asdescribed at 204). When both the first network device (the initiator)and the second network device (the responder) have EDMG MSDUsegmentation and reassembly capability, process 200 proceeds to 214,where the initiator is configured to segment the datagram into aplurality of transmission data units on the MAC layer. For example, eachtransmission data unit is a segmented MSDU having a size less than 7920bytes. At 216, the initiator is configured to assign a fragment numberto a respective sequence control field in each transmission data unitfrom the plurality of transmission data units, and then at 220, theinitiator is configured to transmit the plurality of transmission dataunits to the second network device (the responder). Further detailrelating to the segmentation on the MAC layer is discussed in FIGS. 3-6.

At 212, when not both of the first network device (the initiator) andthe second network device (the responder) have EDMG MSDU segmentationand reassembly capability, process 200 may optionally proceed to 218.For example, at 218, the initiator is configured to optionally segmentthe datagram into a plurality of transmission data units at the upperlayer, e.g., by the application running on the initiator device, andthen send the transmission data units to the second network device at220.

FIG. 3 shows an example logic diagram 300 illustrating segmenting thedatagram into a plurality of transmission data units on the MAC layer byreusing legacy fragmentation, according to embodiments described herein.At 302, the initiator is configured to segment the datagram (e.g., alarger MSDU) into a plurality of transmission data units, e.g., intomultiple segmented MSDU units having a size smaller than 7920 bytes. At304, for each transmission data unit (e.g., segmented MSDU) segmentedfrom the same datagram, the initiator is configured to reuse a sequencecontrol field defined in a legacy protocol (e.g., 802.11b/g), and assigna same sequence number to a first portion of a sequence control field inthe respective transmission data unit at 306, and assign a uniquefragment number to a second portion of the sequence control field in therespective transmission data unit at 308. For example, the initiator isconfigured to reuse a sequence control field defined in legacyfragmentation. For example, in 802.11b/g when the transmission data rateis relatively low, data frames are sometimes segmented into smallersizes for transmission. Thus, the legacy sequence control fieldcontained in each segmented MSDU can be reused, which includes the firstfour bits (e.g., B0-B3) designated for a fragment number correspondingto the segmented MSDU, and the next 12 bits (e.g., B4-B15) designatedfor a sequence number corresponding to the segmented MSDU. Specifically,the segmented MSDUs that belong to the same datagram (e.g., a largerMSDU) are assigned the same sequence number, and each segmented MSDU isassigned a three-bit fragment number indicating the index number of therespective segmented MSDU corresponding to the larger MSDU. Therefore,the resulting segmented MSDUs can include a maximum of 8×7920 bytes.

At 310, the initiator is configured to assign a binary value to a thirdportion of the sequence control field in the respective transmissiondata unit, and the binary value indicates whether there are moretransmission data units segmented from the same datagram following therespective transmission data unit. For example, one data bit in thefragment number portion in the sequence control field is designated torepresent that the subsequent segmented MSDU(s) belongs to the samelarger MSDU with the current segmented MSDU when the data bit equalsone. Or the subsequent segmented MSDU does not belong to the same largerMSDU when the data bit equals zero, meaning the current segmented MSDUis the last fragmented segmented MSDU in the larger MSDU.

The initiator is configured to repeat 306-310 for each transmission dataunit, and process 300 continues with 304 to repeat 306-310 for moretransmission data units.

FIG. 4 shows an example logic diagram 400 illustrating receiving andreassembling transmission data units fragmented via the process 300described in FIG. 3, according to embodiments described herein. At 402,a responder (e.g., network device 102 in FIG. 1) is configured toreceive a first transmission data unit, e.g., a segmented MSDU. At 404,the responder is configured to extract a data bit and a fragment numberfrom a sequence control field of the first transmission data unit, andthe data bit indicates whether there are more transmission data unitssegmented from a same datagram following the first transmission dataunit. For example, the responder is configured to extract the first fourbits B0-B3 of the sequence control field. At 406, when the data bitequals one, process 400 continues to 408, where the responder isconfigured to determine that a subsequent transmission data unit belongsto the same datagram with the transmission data unit. The responder isthen configured to continue receiving the subsequent segmented MSDU,e.g., process 400 proceeds to 402.

At 406, when the data bit equals zero, process 400 continues to 410,where the responder is configured to determine that any subsequenttransmission data unit belongs to a different datagram, e.g., thecurrent transmission data unit (segmented MSDU) is the last segmentedMSDU in the fragmented datagram. At 412, the responder is configured toretrieve the three-bit fragment number of the transmission data unit,and when the fragmentation number is non-zero, process 400 proceeds to414, where the responder is configured to extract another data bit ofthe sequence control field from a preceding transmission data unit, andthe data bit indicates whether any subsequent transmission data unitafter the preceding transmission data unit belongs to the same datagram.At 416, when the second data bit equals zero, the responder isconfigured to determine that the transmission data unit is an EDMGfragmentation segment. At 416, when the second data bit equals one, theresponder is configured to determine that the transmission data unit isa legacy fragmentation segment. At 424, the responder is then configuredto reassemble received transmission data units to form one or moredatagrams based on segmentation information relating to the transmissiondata units, e.g., based on whether the transmission units are EDMGsegments or legacy segments. For example, when the transmission unitsare EDMG segments, the responder is configured to extract the fragmentnumbers of each transmission unit and assemble the transmission unitsbased on the fragment numbers.

At 412, when the fragment number is zero, process 400 continues with422, where the responder is configured to determine that thetransmission data unit has not been segmented, e.g., the receivedsegmented MSDU is an independent frame that does not need to bereassembled with other segmented MSDUs.

FIG. 5 shows an example logic diagram 500 illustrating segmenting thedatagram into a plurality of transmission data units on the MAC layer byredefining fragmentation number as MSDU index number, according toembodiments described herein. At 502, the initiator (e.g., networkdevice 101 in FIG. 1) is configured to segment the datagram (e.g., alarger MSDU) into a plurality of transmission data units (e.g.,segmented MSDUs). For each transmission data unit at 504, process 500proceeds to 506, where the initiator is configured to assign the sameindex number to a first portion of a sequence control field in therespective transmission data unit at 506, and assign a continuoussequence number to a second portion of the sequence control field in therespective transmission data unit at 508. For example, under thefragmentation process 500, the first four bits of the sequence controlfield are used to represent an index number corresponding to the largerMSDU. In some embodiments, three bits are used for MSDU index number 0-7and one bit is used to represent whether the subsequent segmented MSDUbelongs to the same MSDU. For example, at 510, the initiator isconfigured to assign a binary value to a third portion of the sequencecontrol field in the respective transmission data unit, and the binaryvalue indicates whether there are more transmission data units segmentedfrom the same datagram following the respective transmission data unit.In some embodiments, four bits are used for MSDU index number 0-16.Thus, segmented MSDUs with continuous sequence numbers and the same MSDUindex number are fragments from the same larger MSDU (datagram).

Under the fragmentation process 500, legacy segmentation is not allowed,and the tuple information <Source MAC address, Destination MAC address,TID> and one data bit designated for indicating whether subsequentsegmented MSDU belong to the same datagram with the current segmentedMSDU are sometimes used to provide information for fragmentation on theMAC layer. Process 500 then repeats 506-510 to process each segmentedMSDU.

FIG. 6 shows an example logic diagram 600 illustrating receiving andreassembling a plurality of transmission data units fragmented via theprocess 500 described in FIG. 5, according to embodiments describedherein. At 602, the responder is configured to receive a firsttransmission data unit. At 604, the responder is configured to extract adata bit that indicates whether there are more transmission data unitssegmented from a same datagram following the first transmission dataunit from a sequence control field of the first transmission data unit,wherein the data bit. De-fragmentation of segmented MSDUs at theresponder is to be implemented at an end of an MSDU. At 606, when thedata bit equals one, the responder is configured to continue receiving asecond transmission data unit subsequent to the first transmission dataunit at 608. And then process 600 continues to 602, until the data bitof the respective segmented MSDU indicates that the end of the MSDU hasbeen reached and no more subsequent segmented MSDUs belong to the samesegmented MSDU with the respective segmented MSDU.

At 606, when the data bit equals zero, the responder is configured toretrieve a set of previously received transmission data unit prior toand including the first transmission data unit for de-fragmentation at610, and all the set of previously received transmission data units havethe same MSDU index number. At 612, the responder is configured toextract a respective sequence number from a respective sequence controlfield of each of the set of previously received transmission data units,and then reassemble the set of previously received transmission dataunits into a datagram based on the respective sequence numbers.

FIGS. 7-8 show example block diagrams 700 and 800 illustrating receptionbehaviors of segmented MSDUs based on the reassembly process 600described in FIG. 6, according to embodiments described herein. When twoconsecutively-received segmented MSDUs have the same MSDU index numberbut non-continuous sequence number, these two segmented MSDUs are notregarded as part of the same MSDU. For example, as shown in diagram 700,segmented MSDU 701 has a “More Fragment” data bit equals one, and theMSDU indices of both segmented MSDUs 701 and 702 are the same, meaningthe subsequent segmented MSDU 702 belongs to the same MSDU withsegmented MSDU 701. For segmented MSDUs 702-705, where the MSDU indicesincreases from 0-7, and the “More Fragment” data bit equals zero,meaning each segmented MSDU 702-705 does not belong to the same MSDU.However, at segmented MSDU 706, as the three-bit MSDU index has reachedits maximum of “7,” the MSDU index changes to “0.” Thus for segmentedMSDUs 701, 702, 706 and 707 which all have the same MSDU index number“0,” but the sequence numbers are not continuous, these four segmentedMSDUs are not to be reassembled as the same MSDU, but instead, allsegmented MSDUs from 702-706 are corrupted as an error has beenidentified. Therefore, the MSDU index range is sometimes preferred to beas large as possible (e.g., three-bit or four-bit MSDU index number tosupport a broader range of MSDU index values).

At diagram 800 in FIG. 8, segmented MSDUs 801 and 802 are transmittedsegmented MSDUs due to previous failure. Thus segmented MSDUs 801 and802 have the same MSDU index of “0,” and continuous sequence numbers “1”and “2,” respectively. At segmented MSDU 803, although segmented MSDU803 has the same MSDU index number of “0,” but due to the non-continuoussequence number of “10,” segmented MSDU 803 does not belong to the sameMSDU with segmented MSDU 802 or 801. Instead, segmented MSDU 803 and anysubsequent segmented MSDU 804 are treated as transmission of newsegmented MSDUs.

Various embodiments discussed in conjunction with FIGS. 1-8 areperformed by various electronic components of one or more electroniccircuits, such as but not limited to an integrated circuit,application-specific integrated circuit (ASIC), DSP, and/or the like.Various components discussed throughout this disclosure such as, but notlimited to network devices (e.g., 101-102 in FIG. 1), and/or the like,are configured to include a set of electronic circuit components, andcommunicatively operate on one or more electronic circuits. Eachelectronic circuit is configured to include any of, but not limited tologic gates, memory cells, amplifiers, filters, and/or the like. Variousembodiments and components disclosed herein are configured to be atleast partially operated and/or implemented by processor-executableinstructions stored on one or more transitory or non-transitoryprocessor-readable media.

While various embodiments of the present disclosure have been shown anddescribed herein, such embodiments are provided by way of example only.Numerous variations, changes, and substitutions relating to embodimentsdescribed herein are applicable without departing from the disclosure.It is noted that various alternatives to the embodiments of thedisclosure described herein may be employed in practicing thedisclosure. It is intended that the following claims define the scope ofthe disclosure and that methods and structures within the scope of theseclaims and their equivalents be covered thereby.

While operations are depicted in the drawings in a particular order,this is not to be construed as requiring that such operations beperformed in the particular order shown or in sequential order, or thatall illustrated operations be performed to achieve the desirableresults.

The subject matter of this specification has been described in terms ofparticular aspects, but other aspects can be implemented and are withinthe scope of the following claims. For example, the actions recited inthe claims can be performed in a different order and still achievedesirable results. As one example, the process depicted in FIG. 10 doesnot necessarily require the particular order shown, or sequential order,to achieve desirable results. In certain implementations, multitaskingand parallel processing may be advantageous. Other variations are withinthe scope of the following claims.

What is claimed is:
 1. A method for processing data frames on a mediumaccess control (MAC) layer in a wireless local area network, the methodcomprising: receiving, from an application running on a first networkdevice, a datagram for transmission over a wireless communication linkin the wireless local area network; generating a segmented datagram bysegmenting the datagram into a plurality of transmission data units onthe MAC layer, wherein each of the transmission data units has a sizesmaller than a maximum size defined by a legacy transmission protocol ofthe wireless local area network; determining a unique sequence numberfor the segmented datagram, with different sequence numbers from theunique sequence number belong to other datagrams; for each transmissiondata unit of the plurality of transmission data units, assigningidentifying information to a sequence control field that is defined inthe legacy transmission protocol, and wherein assigning the identifyinginformation includes assigning, to a first portion of the sequencecontrol field, a unique fragment number for a selected transmission dataunit of the plurality of transmission data units, where different uniquefragment numbers from the unique fragment number are assigned to othertransmission data units of the plurality of transmission data units, andwherein the unique fragment number represents a respective index for theselected transmission data unit in the plurality of transmission dataunits, and wherein the first portion includes one or more first bits ofthe sequence control field, when the selected transmission data unit isnot a last transmission data unit to be transmitted, assigning a firstbinary value to a second portion of the sequence control field thatindicates that there are more transmission data units from the segmenteddatagram to be transmitted following the selected transmission dataunit, wherein the second portion of the sequence control field includesa second bit of the sequence control field, and assigning the uniquesequence number for the segmented datagram to a set of remaining bits ofthe sequence control field; and after assigning the identifyinginformation, transmitting, via the wireless communication link in thewireless local area network, the plurality of transmission data units toa second network device.
 2. The method of claim 1, wherein: the firstportion includes the first three bits of the sequence control field; thesecond portion includes a fourth bit of the sequence control field; andthe set of remaining bits includes a remaining 12 bits of the sequencecontrol field.
 3. The method of claim 1, wherein the step of assigningthe identifying information further comprises: when the selectedtransmission data unit is the last transmission data unit to betransmitted, assigning a second binary value to the second portion ofthe sequence control field that indicates that there are no moretransmission data units from the segmented datagram to be transmittedfollowing the selected transmission data unit.
 4. The method of claim 1,further comprising: initiating, at the first network device, anegotiation request with the second network device for determiningwhether both the first network device and the second network device haveenhanced directional multi-gigabit capability (EDMG) for datasegmentation and reassembly; and performing the segmenting, assigning,and transmitting steps when both the first network device and the secondnetwork device have the EDMG for data segmentation and reassembly.
 5. Amethod for processing data frames on a medium access control (MAC) layerin a wireless local area network, the method comprising: receiving, at afirst network device, a plurality of transmission data units that weresegmented, at a second network device, from a first datagram; for eachof the plurality of transmission data units received at the firstnetwork device, extracting identifying information by extracting, from anext selected transmission data unit of the plurality of transmissiondata units, a sequence number from a first portion of a sequence controlfield defined in a legacy transmission protocol of the wireless localarea network, extracting, from the next selected transmission data unit,a first data bit from a second portion of the sequence control field,wherein the first data bit indicates whether or not there are more ofthe plurality of transmission data units that will follow the selectedtransmission data unit, and extracting, from the selected transmissiondata unit, a unique fragment number from a third portion of the sequencecontrol field, wherein the unique fragment number represents arespective index for the selected transmission data unit in theplurality of transmission data units; and when the first data bitextracted from a last transmission data unit of the plurality oftransmission data units indicates that there are no more of theplurality of transmission data units that will follow, reassembling thefirst datagram from all of the plurality of transmission data units thatincluded the sequence number.
 6. The method of claim 5, furthercomprising the steps, before receiving the plurality of first dataunits, of: receiving, from the second network device, a negotiationrequest for determining whether both the first network device and thesecond network device have enhanced directional multi-gigabit capability(EDMG) for data segmentation and reassembly; and performing thereceiving, extracting, and reassembling steps when both the firstnetwork device and the second network device have the EDMG for datasegmentation and reassembly.
 7. A network device for processing dataframes on a medium access control (MAC) layer in a wireless local areanetwork, the device comprising: a buffer configured to receive, from anapplication run by a processing circuitry, a datagram for transmissionover a wireless communication link in the wireless local area network;the processing circuitry configured to: generate a segmented datagram bysegmenting the datagram into a plurality of transmission data units onthe MAC layer, wherein each of the transmission data units has a sizesmaller than a maximum size defined by a legacy transmission protocol ofthe wireless local area network; determine a unique sequence number forthe segmented datagram, with different sequence numbers from the uniquesequence number belong to other datagrams; for each transmission dataunit of the plurality of transmission data units, assign identifyinginformation to a sequence control field that is defined in the legacytransmission protocol, and wherein assigning the identifying informationincludes assigning, to a first portion of the sequence control field, aunique fragment number for a selected transmission data unit of theplurality of transmission data units, where different unique fragmentnumbers from the unique fragment number are assigned to othertransmission data units of the plurality of transmission data units, andwherein the unique fragment number represents a respective index for theselected transmission data unit in the plurality of transmission dataunits, and wherein the first portion includes one or more first bits ofthe sequence control field, when the selected transmission data unit isnot a last transmission data unit to be transmitted, assigning a firstbinary value to a second portion of the sequence control field thatindicates that there are more transmission data units from the segmenteddatagram to be transmitted following the selected transmission dataunit, wherein the second portion of the sequence control field includesa second bit of the sequence control field, and assigning the uniquesequence number for the segmented datagram to a set of remaining bits ofthe sequence control field; and a transceiver configured to: transmit,via the wireless communication link in the wireless local area network,the plurality of transmission data units to a second network device. 8.The network device of claim 7, wherein the processing circuitry isfurther configured to: negotiate with the second network device todetermine whether both the first network device and the second networkdevice have enhanced directional multi-gigabit (EDMG) capability fordata segmentation and reassembly.
 9. The network device of claim 7,wherein: the first portion includes the first three bits of the sequencecontrol field; the second portion includes a fourth bit of the sequencecontrol field; and the set of remaining bits includes a remaining 12bits of the sequence control field.
 10. A network device for processingdata frames on a medium access control (MAC) layer in a wireless localarea network, the device comprising: a transceiver configured toreceive, via a wireless communication link in the wireless local areanetwork, a plurality of transmission data units that were segmented, ata second network device, from a first datagram; processing circuitryconfigured to: for each of the plurality of transmission data units,extract identifying information by extracting, from a next selectedtransmission data unit of the plurality of transmission data units, asequence number from a first portion of a sequence control field definedin a legacy transmission protocol of the wireless local area network,extracting, from the next selected transmission data unit, a first databit from a second portion of the sequence control field, wherein thefirst data bit indicates whether or not there are more of the pluralityof transmission data units that will follow the selected transmissiondata unit, and extracting, from the selected transmission data unit, aunique fragment number from a third portion of the sequence controlfield, wherein the unique fragment number represents a respective indexfor the selected transmission data unit in the plurality of transmissiondata units; and when the first data bit extracted from a lasttransmission data unit of the plurality of transmission data unitsindicates that there are no more of the plurality of transmission dataunits that will follow, reassemble the first datagram from all of theplurality of transmission data units that included the sequence number.11. The network device of claim 10, wherein the processing circuitry isfurther configured to: negotiate with the second network device todetermine whether both the first network device and the second networkdevice have enhanced directional multi-gigabit (EDMG) capability fordata segmentation and reassembly.
 12. The network device of claim 10,wherein: the first portion includes the first three bits of the sequencecontrol field; the second portion includes a fourth bit of the sequencecontrol field; and the set of remaining bits includes a remaining 12bits of the sequence control field.